Maple 2025 Questions and Posts

These are Posts and Questions associated with the product, Maple 2025

I use plot(sol,...) to plot solution of ode. I do not give x or y ranges and let Maple figure the best values. Then use the command 

T:=rhs~(indets(p, identical("originalview")=anything))[];    

To extract the x and y ranges used and then use these in the command DEtools:-DEplot(....)

The plot() command shows the solution plot fully (in this example below, the left and right sides).

But the  DEtools:-DEplot(....) only shows part of the solution on top of the slope field arrows.  Even though the same x and y ranges is used.

I found that if I increase the y range for the DEtools:-DEplot(....) by a little bit, now the full solution shows, which is same as plot command generated.

Since I am doing all this in code, without looking, I am first plotting the solution using plot() and then use the ranges generated for DEtools:-DEplot(....).

If I do not use the y range in DEtools:-DEplot(....) but only use the x range, sometimes it works and sometimes Maple gives warnings. (depending on the solution). So I am  back to using the ranges generated by plot() command to be safe.

Here is an example to show this problem

ode:=diff(y(x),x) = x*(x^2+9)^(1/2);
IC:=y(-4) = 0;
sol:=dsolve([ode,IC]);
p:=plot(rhs(sol),'axes'='boxed','labels'=[x,y(x)],'axis'=['gridlines'=['color'='lightblue']],'color' = 'red');

Now the x and y ranges used above is extraced

T:=rhs~(indets(p, identical("originalview")=anything))[];      
from_x := op(1,T[1]);
to_x   := op(2,T[1]);
from_y := op(1,T[2]);        
to_y   := op(2,T[2]);  

#gives

      T := [-9.94999999999999929 .. 9.94999999999999929, 
        -32.6629164062620561 .. 332.469298224442980]


                 from_x := -9.94999999999999929
                  to_x := 9.94999999999999929
                 from_y := -32.6629164062620561
                  to_y := 332.469298224442980

These are used in the DEplot

DEtools:-DEplot(ode,[y(x)],x=from_x..to_x,y=from_y ..to_y ,[IC],
                'dirfield'=[15,15],
                'labels'=[x,y(x)],
                'axes' = 'boxed',                
                'arrows'='smalltwo', #'curve', 
                'color' = 'blue',#color of arrows
                'linecolor'='red'#color of solution
                );

Notice how the solution (red line) is truncated.  It turns out in this case adding say 10% to the y range, it now shows the solution like this

DEtools:-DEplot(ode,[y(x)],x=from_x..to_x,y=from_y-(0.1*abs(from_y)) ..to_y ,[IC],
                'dirfield'=[15,15],
                'labels'=[x,y(x)],
                'axes' = 'boxed',                
                'arrows'='smalltwo', #'curve', 
                'color' = 'blue',#color of arrows
                'linecolor'='red'#color of solution
                );

But I do not know if this trick will work for each example. 

As I said, I can not give the y range to DEplot, then in this example, it will now show the full solution. But I have examples where this can cause warnings.

The question is, why giving same y range used by plot to DEplot cause the solution (red line) to truncate? Why one has to increase the y range to make it show the full solution?

Is there a better method that the above to make DEplot show full solution same as plot() does? 

Maple 2025.2

ps. I just tried upload the worksheet and now it works! it looks like mapleprimes web site is fixed.
 

interface(version);

`Standard Worksheet Interface, Maple 2025.2, Windows 10, November 11 2025 Build ID 1971053`

ode:=diff(y(x),x) = x*(x^2+9)^(1/2);
IC:=y(-4) = 0;

diff(y(x), x) = x*(x^2+9)^(1/2)

y(-4) = 0

sol:=dsolve([ode,IC]);

y(x) = (1/3)*(x^2+9)^(3/2)-125/3

p:=plot(rhs(sol),'axes'='boxed','labels'=[x,y(x)],'axis'=['gridlines'=['color'='lightblue']],'color' = 'red');

 

T:=rhs~(indets(p, identical("originalview")=anything))[];      
from_x := op(1,T[1]);
to_x   := op(2,T[1]);
from_y := op(1,T[2]);        
to_y   := op(2,T[2]);  

[-9.94999999999999929 .. 9.94999999999999929, -32.6629164062620561 .. 332.469298224442980]

-9.94999999999999929

9.94999999999999929

-32.6629164062620561

332.469298224442980

DEtools:-DEplot(ode,[y(x)],x=from_x..to_x,y=from_y ..to_y ,[IC],
                'dirfield'=[15,15],
                'labels'=[x,y(x)],
                'axes' = 'boxed',                
                'arrows'='smalltwo', #'curve',
                'color' = 'blue',#color of arrows
                'linecolor'='red'#color of solution
                );

DEtools:-DEplot(ode,[y(x)],x=from_x..to_x,y=from_y-(0.1*abs(from_y)) ..to_y ,[IC],
                'dirfield'=[15,15],
                'labels'=[x,y(x)],
                'axes' = 'boxed',                
                'arrows'='smalltwo', #'curve',
                'color' = 'blue',#color of arrows
                'linecolor'='red'#color of solution
                );

 


 

Download example_phase_plot.mw

How to explain this strange behavior?   odetest(sol,ode) does not give zero. But odetest(sol,[ode,IC]) gives [0,0]

Same solution and same ode. Why adding IC, now odetest says solution verifies the ode, but without adding IC, it does not give zero right away. I know I can simplify the result to zero. But the point is that it should have given zero right away, because that is what it did when adding IC.

Should it not have given zero in first case also?

Can't upload worksheet due to security. Here is code and screen shot

ode := diff(y(x),x) + cos(1/exp(2*x))*y(x) = sin(1/exp(x));
IC := a*D(y)(x0)+c*y(x0) = b*y0;
sol:=y(x) = ((-cos(exp(-2*x0))*a + c)*Int(sin(exp(-tau))*exp(-1/2*Ci(exp(-2*tau))), tau = 0 .. x0) + Int(sin(exp(-tau))*exp(-1/2*Ci(exp(-2*tau))), tau = 0 .. x)*(cos(exp(-2*x0))*a - c) + exp(-1/2*Ci(exp(-2*x0)))*(a*sin(exp(-x0)) - b*y0))*exp(1/2*Ci(exp(-2*x)))/(cos(exp(-2*x0))*a - c);

odetest(sol,ode);

#not zero

#now

odetest(sol,[ode,IC]);

#gives [0,0]

 

Could someone please check if these are new in Maple 2025.2? I am on windows 10.

eqs:=[_C1+_C2 = 0, _C1*exp(3^(1/2)*((cos(1/6*Pi*3^(1/2))-1)*(cos(1/6*Pi*3^(1/2))+1))^(1/2)/(cos(1/6*Pi*3^(1/2))-1)^(1/2)/(cos(1/6*Pi*3^(1/2))+1)^(1/2)*ln(cos(1/6*Pi*3^(1/2))+(cos(1/6*Pi*3^(1/2))^2-1)^(1/2)))+_C2*exp(-3^(1/2)*((cos(1/6*Pi*3^(1/2))-1)*(cos(1/6*Pi*3^(1/2))+1))^(1/2)/(cos(1/6*Pi*3^(1/2))-1)^(1/2)/(cos(1/6*Pi*3^(1/2))+1)^(1/2)*ln(cos(1/6*Pi*3^(1/2))+(cos(1/6*Pi*3^(1/2))^2-1)^(1/2))) = 4];
c:=[_C1, _C2];
solve(eqs,c);

#Error, (in convert/real_rat) too many levels of recursion

And

eqs:= [3^(1/4*3^(1/2))*exp(3/4*Pi)*_C1-1/3*exp(3/4*Pi)*3^(-1/4*3^(1/2)+1/2
)*_C2 = 1, _C1/(cos(1/3*Pi*3^(1/2))-1)^(1/4)/(cos(1/3*Pi*3^(1/2))+1)^(1/4)*exp(
3/4*Pi-1/2*Pi*3^(1/2))*(cos(1/3*Pi*3^(1/2))^2-1)^(1/4)*3^(1/4*3^(1/2))*((cos(1/
3*Pi*3^(1/2))^2-1)^(1/2)+cos(1/3*Pi*3^(1/2)))^(1/2*3^(1/2))-_C2*3^(-1/2-1/4*3^(
1/2))/(cos(1/3*Pi*3^(1/2))-1)^(1/4)/(cos(1/3*Pi*3^(1/2))+1)^(1/4)*(cos(1/3*Pi*3
^(1/2))^2-1)^(1/4)*exp(3/4*Pi-1/2*Pi*3^(1/2))*((cos(1/3*Pi*3^(1/2))^2-1)^(1/2)+
cos(1/3*Pi*3^(1/2)))^(-1/2*3^(1/2)) = 5*exp(-1/2*Pi*3^(1/2))]:
c:=[_C1, _C2];

solve(eqs,c)

#Error, (in convert/real_rat) too many levels of recursion

And

eqs:=[3^(1/2*3^(1/2))*exp(1/2*Pi)*_C1-1/6*3^(-1/2*3^(1/2)+1/2)*exp(1/2*Pi
)*_C2 = 5, _C1/(cos(1/6*Pi*3^(1/2))-1)^(1/4)/(cos(1/6*Pi*3^(1/2))+1)^(1/4)*exp(
1/2*Pi-1/6*Pi*3^(1/2))*(cos(1/6*Pi*3^(1/2))^2-1)^(1/4)*3^(1/2*3^(1/2))*((cos(1/
6*Pi*3^(1/2))^2-1)^(1/2)+cos(1/6*Pi*3^(1/2)))^(3^(1/2))-1/6*_C2*3^(-1/2*3^(1/2)
+1/2)/(cos(1/6*Pi*3^(1/2))-1)^(1/4)/(cos(1/6*Pi*3^(1/2))+1)^(1/4)*exp(1/2*Pi-1/
6*Pi*3^(1/2))*(cos(1/6*Pi*3^(1/2))^2-1)^(1/4)*((cos(1/6*Pi*3^(1/2))^2-1)^(1/2)+
cos(1/6*Pi*3^(1/2)))^(-3^(1/2)) = 2*exp(-1/6*Pi*3^(1/2))]:
c:=[_C1, _C2];

solve(eqs,c)

Trace shows they are coming from Algebraic: best unknown/equation

Cannot upload worksheet due to security. Here is screen shot

Variation of (a) Skin friction ∂W/∂Z​, (b) Heat Transfer ∂θ/∂Z​, and (c) Mass Transfer ∂ϕ/∂Z​ for γ=10.0, Pr=7.0, ε=1.0, Nt=0.4, and Nb=0.2.

10.0   0.03301 1.90406 0.21772
20.0   0.01212 1.90403 0.20269
30.0   0.00727 1.90402 0.19325
40.0   0.00522 1.90400 0.18645


how to get this values by solving the PDE by using the pdsolve method 

Variation of (a)W(b) θ and (c) ϕ for different value of γ when ε = 10.0, Nb = 0.4, ε = 10.0, Sc = 0.5 and Pr = 7.0.
consider X as 0.1

plume_work.mw

Could someone please check if this error happens in earlier versions of Maple? I have only Maple 2025.2 on Windows.

Unable to upload worksheet due to new security. Here is the code to run


restart;
integrand:=-3*(Pi-2*arcsin(tau))*(tau+1)^(1/2)*(tau+(tau^2-1)^(1/2))^(2*(tau^2-1)^(1/2)/(tau-1)^(1/2)/(tau+1)^(1/2))*(tau-1)^(1/2)*(-16/3*tau^2+Pi-2*arcsin(tau)+8/3)/(4*tau^2-4);

int(integrand,tau)

The error is 

Update dec 12, 2025

Here is another int() error. In Maple 2025.2.  It comes from

RationalTrigOnly: case ratpoly*trig(arg)
Error, (in unknown) too many levels of recursion

 

I still can not upload worksheet. So here is the code followed by screen shot

 

integrand:=-(tau+(tau^2-1)^(1/2))^(1/2*(tau^2-1)^(1/2)/(tau-1)^(1/2)/(tau+1)^(1/2))*(64*tau^4+Pi^2-4*Pi*arcsin(tau)+4*arcsin(tau)^2-64*tau^2+8)*(tau-1)^(1/2)*(tau+1)^(1/2)/(16*tau^2-16);

int(integrand,tau);
....
TrigOnly: case of integrand containing trigs
RationalTrigOnly: case ratpoly*trig(arg)
Error, (in unknown) too many levels of recursion


 

I did not make new question as this seems to be same source of error but can not be sure now.

Second update DEC 12, 2025

Here is 3rd one. Seems also the same. comes from RationalTrigOnly: case ratpoly*trig(arg)

integrand:=-(tau + sqrt(tau^2 - 1))^(2*sqrt(tau^2 - 1)/(sqrt(tau - 1)*sqrt(tau + 1)))*(Pi - 2*arcsin(tau))*(12*tau^2 + Pi - 2*arcsin(tau) - 6)*sqrt(tau - 1)*sqrt(tau + 1)/(16*tau^2 - 16);

int(integrand,tau);

Currently, when I have solution to an ode, say y(x)=sin(x)+_C1 and have some initial condition, then to solve for _C1,  I manually substitute the solution into the IC and replace each x by x0 and replace each derivative manually and so on.

This is because I could not find automatic way to do this. Using another software, it is possible to automate this by writing the solution using the  y -> Function[{x}, ...] syntax. But in Maple, I was not sure how to do the same.

Here is a simple made up example. 

sol:= y(x) = sin(x)+_C1;
IC := a*D(y)(x0)+c*y(x0)= b*y0+exp((D@@2)(y)(x0));

The goal is to replace the solution (which is function y(x)) into the IC, and automatically replace all its derivatives and replace x by x0 then solve for _C1 from the equation that results.

Now I do this manually like this

eval(IC,[ y(x0)=eval(rhs(sol),x=x0), 
          D(y)(x0)=eval(diff(rhs(sol),x),x=x0), 
         (D@@2)(y)(x0)= eval(diff(rhs(sol),x$2),x=x0) ])

which gives

But this is too much work.

Using the other software, I can do the above much more easily like this

sol = y -> Function[{x}, Sin[x] + C[1]]
ic = a*y'[x0] + c*y[x0] == b*y0 + Exp[y''[x0]];
ic /. sol

I looked at algsubs, dchange, or making the solution as function instead, and so on but could not emulate the y -> Function[{x}, Sin[x] + C[1]] method in Maple.

What would be similar method in Maple to do the above automatically?  May be there is already builtin function in Maple?

I frequently receive this message after installing the most recent Maple update:

Can anyone help me with this? Thank you so much for your valuable support.

is it possible to collect using pattern? For example, given 

How to tell Maple to collect on  r^power terms to produce

This came up in another forum here  and using that other software, it is possible to ask collect to collect on pattern r^_

Is there a way in Maple to collect on all powers of r in the above? Here is worksheet

A:=r^(2*a)+r^2*(1+a+r^(2*a)) + r + a*r;
B:=(1+a)*r+(1+a)*r^2+r^(2*a)+r^(2+2*a);

r^(2*a)+r^2*(1+a+r^(2*a))+r+a*r

(1+a)*r+(1+a)*r^2+r^(2*a)+r^(2+2*a)

simplify(A-B)

0

collect(A,r)

r^2*(1+a+r^(2*a))+(1+a)*r+r^(2*a)

collect(A,r,'distributed')

r^2*(1+a+r^(2*a))+(1+a)*r+r^(2*a)

collect(A,r,'recursive')

r^2*(1+a+r^(2*a))+(1+a)*r+r^(2*a)

collect(A,r,expand)

(1+a+(r^a)^2)*r^2+(1+a)*r+(r^a)^2

collect(A,r^(n::anything))

Error, (in collect) cannot collect r^n::anything

 


 

Download collect_using_pattern.mw

Using that other software:

 

My student, David Wei, has ported Andrew Hicks's MOISE package to Maple 2025:

GitHub - david-wei-01001/MOISE-for-Maple-2025: MOISE that is compatible with the newest Maple 2025 Engine

Regards,

Gerald Penn

Hello,

I have upgraded to maple 2025, but the ui fonts are too small and very thin. I went to Files -> Options -> Interface -> Default Zoom, thet sat it up to 150%. It only changed the document area not the UI options. This solution used to work with Maple 2024. I am on ubuntu 22.04.

I do not remember if this came up before. And this is all done in code, without looking at the screen.

Given sqrt(1-cos(x)^2), Maple's simplify does not return sqrt(sin(x)^2), instead it returns ugly result csgn(sin(x))*sin(x) which is correct ofcourse, but why not just return sqrt(sin(x)^2)?  As sqrt(sin(x)^2) is much easier to read than csgn(sin(x))*sin(x).

length of sqrt(1-cos(x)^2) is 29 and length of sqrt(sin(x)^2) is 21.

What Maple simplify seems to do is simplify sqrt(1-cos(x)^2) to sqrt(sin(x)^2) internally, but instead of stopping there, it keeps going and "simplifies" sqrt(sin(x)^2)  to csgn(sin(x))*sin(x).

How to make it stop at sqrt(sin(x)^2)?

Again, this is done in code. Not interactive. code uses simplify() command on most things. 

interface(version)

`Standard Worksheet Interface, Maple 2025.2, Windows 10, November 11 2025 Build ID 1971053`

A:=sqrt(1-cos(x)^2)

(1-cos(x)^2)^(1/2)

B:=sqrt(sin(x)^2)

(sin(x)^2)^(1/2)

length(A)

29

length(B)

21

simplify(A)

csgn(sin(x))*sin(x)

simplify(A,trig)

csgn(sin(x))*sin(x)

simplify(A,size)

(1-cos(x)^2)^(1/2)

simplify(A) assuming x>0 and x<Pi

sin(x)

 

 

Download simplify_dec_3_2025.mw

That other system does it better

Is it possible to make simplify do the same in Maple? 

DO not know if this is new in Maple 2025.2 or not as I have not looked yet if it is possible to install Maple 2025.1 on my new PC given Maple 2025.2 is already installed.

Found That Maple 2025.2 gives "Error, (in dsolve) numeric exception: division by zero" when asked to solve this ode using Lie symmetry.  The error comes when it tried to 

                        Computing canonical coordinates for the symmetry 

Even if this problem was in earlier Maple versions, this ofcourse should not happen.

interface(version);

`Standard Worksheet Interface, Maple 2025.2, Windows 10, November 11 2025 Build ID 1971053`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1882 and is the same as the version installed in this computer, created 2025, December 1, 6:58 hours Pacific Time.`

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 29 and is the same as the version installed in this computer, created June 23, 2025, 10:25 hours Eastern Time.`

libname;

"C:\Users\me\maple\toolbox\2025\Physics Updates\lib", "C:\Users\me\maple\toolbox\2025\Maple Customer Support Updates\lib", "C:\Program Files\Maple 2025\lib"

restart;

ode:=sin(x)*diff(y(x), x, x) + (2*sin(x) - cos(x))*diff(y(x), x) + (sin(x) - cos(x))*y(x) = exp(-x);

sin(x)*(diff(diff(y(x), x), x))+(2*sin(x)-cos(x))*(diff(y(x), x))+(sin(x)-cos(x))*y(x) = exp(-x)

dsolve(ode)

y(x) = exp(arcsin(cos(x)))*c__2+exp(arcsin(cos(x)))*cos(x)*c__1+exp(arcsin(cos(x)))*(-(Int(csc(x)^2*exp(-arcsin(cos(x))-x), x))*cos(x)+Int(cot(x)*csc(x)*exp(-arcsin(cos(x))-x), x))

dsolve(ode,Lie)

Error, (in dsolve) numeric exception: division by zero

 

 

Download division_by_zero_dsolve_maple_2025_2_on_dec_2_2025.mw

I would like to change the document and worksheet colour in Maple 2025. I would like to darken or change the color of the icons and text in the tool bar. I have searched everywhere and can't seem to locate it. As currently configured, it is hard on the eyes; my eyesight is not the best. I beleive there is a softer yellow colour that can be picked, which I believe is called classic. Thank you

I am using Maple 2025.  I have the following in my ini file:

with(LinearAlgebra):
    with(VectorCalculus):
    with(plottools):
    with(plots):
    with(DocumentTools):
    with(Units[Simple]):
    with(StringTools):
    stoperror(all):
   interface(displayprecision = 4):
    _EnvUseHeavisideAsUnitStep := true:  
    Digits := 10:

I want to set my default number formatting to "Engineering."  I cannot find where or how to do this, either in the menues or the an ini file command.  I can do it in the context panel line by line, but want it to be global and automatic.

Thanks in advance for your assistance.

I have an expression with y,y',y''. I found that I had to use collect first to make Maple simplifies it more.

Why is that? Is this expected?

interface(version);

`Standard Worksheet Interface, Maple 2025.2, Windows 10, November 11 2025 Build ID 1971053`

B:=-(-t^2+1)*(-diff(y(t),t$2)*(-t^2+1)^(1/2)+diff(y(t),t)/(-t^2+1)^(1/2)*t)-(2*(-t^2+1)^(1/2)-t)*diff(y(t),t)*(-t^2+1)^(1/2)+((-t^2+1)^(1/2)-t)*y(t);

-(-t^2+1)*(-(diff(diff(y(t), t), t))*(-t^2+1)^(1/2)+(diff(y(t), t))*t/(-t^2+1)^(1/2))-(2*(-t^2+1)^(1/2)-t)*(diff(y(t), t))*(-t^2+1)^(1/2)+((-t^2+1)^(1/2)-t)*y(t)

simplify(B);

((diff(diff(y(t), t), t))*t^4+2*(diff(y(t), t))*t^2*(-t^2+1)^(1/2)-2*(diff(diff(y(t), t), t))*t^2-y(t)*t^2-y(t)*(-t^2+1)^(1/2)*t-2*(diff(y(t), t))*(-t^2+1)^(1/2)+diff(diff(y(t), t), t)+y(t))/(-t^2+1)^(1/2)

B:=collect(B,{diff(y(t),t$2),diff(y(t),t),y(t)},'distributed'):
simplify(B);

2*(t^2-1)*(diff(y(t), t))+((-t^2+1)^(1/2)-t)*y(t)+(-t^2+1)^(3/2)*(diff(diff(y(t), t), t))


Download why_collect_is_needed_to_simplify_more_maple_2025_2_nov_30_2025.mw

Notice how much simpler the result when doing collect first.

1 2 3 4 5 6 7 Last Page 1 of 14